package com.tsd.job;

import com.tsd.job.entity.SysTaskJob;
import org.quartz.JobKey;
import org.quartz.TriggerKey;

/**
 * 任务管理模块的工具类
 *
 * @author Hillpool
 */
public class TaskUtils {

    /**
     * 我的Job的默认组名
     */
    public static final String MY_JOB_GROUP_NAME = "my_task_group";

    /**
     * 产生JobKey
     *
     * @param job
     * @return
     */
    public static JobKey genJobKey(SysTaskJob job) {
        return new JobKey("" + job.getId(), MY_JOB_GROUP_NAME);
    }

    /**
     * 产生TriggerKey
     *
     * @param job
     * @return
     */
    public static TriggerKey genMyTriggerKey(SysTaskJob job) {
        return new TriggerKey("trigger_" + job.getId(), MY_JOB_GROUP_NAME);
    }

    /**
     * 判断是否两个trigger key是否相等
     *
     * @param tk1
     * @param tk2
     * @return
     */
    public static boolean isTriggerKeyEqual(TriggerKey tk1, TriggerKey tk2) {
        return tk1.getName().equals(tk2.getName()) && ((tk1.getGroup() == null && tk2.getGroup() == null)
                || (tk1.getGroup() != null && tk1.getGroup().equals(tk2.getGroup())));
    }
}
